--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Commit 01ba53320769d10e13197909243887c5762be4dd
Parents : 87f4c73
Author : Ivan <ivan@quad4.io>
Signature : Signature validation error
Date : 2026-05-03T12:30:35-05:00
fix(workflows): update codec2 installation process for x64 builds on macOS
Changes
2 files changed, 28 insertions(+), 1 deletions(-)
Diff
diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml
index d280057c..a122ca14 100644
--- a/.github/workflows/build-release.yml
+++ b/.github/workflows/build-release.yml
@@ -388,8 +388,12 @@ jobs:
if [[ -x /usr/local/bin/brew ]]; then
arch -x86_64 /usr/local/bin/brew install codec2
else
- echo "x86_64 Homebrew not found at /usr/local/bin/brew; pycodec2 x64 slice build may fail." >&2
+ echo "x86_64 Homebrew not found at /usr/local/bin/brew; cannot build pycodec2 x64 slice." >&2
+ exit 1
fi
+ _codec2="$(arch -x86_64 /usr/local/bin/brew --prefix codec2)"
+ test -f "${_codec2}/include/codec2/codec2.h"
+ test -f "${_codec2}/lib/libcodec2.dylib"
- name: Install project deps into x64 Python (mac universal cx_Freeze)
if: matrix.label == 'macos'
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 3a1c341e..bb12955a 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -115,12 +115,35 @@ jobs:
if: matrix.label == 'macos'
run: echo "PYTHON_CMD_X64=${{ steps.python_x64.outputs.python-path }}" >> "$GITHUB_ENV"
+ - name: Install x86_64 codec2 for pycodec2 (universal slice)
+ if: matrix.label == 'macos'
+ run: |
+ set -euo pipefail
+ if [[ -x /usr/local/bin/brew ]]; then
+ arch -x86_64 /usr/local/bin/brew install codec2
+ else
+ echo "x86_64 Homebrew not found at /usr/local/bin/brew; pycodec2 x64 slice build may fail." >&2
+ fi
+
- name: Install project deps into x64 Python (mac universal cx_Freeze)
if: matrix.label == 'macos'
env:
PY_X64: ${{ steps.python_x64.outputs.python-path }}
+ ARCHFLAGS: "-arch x86_64"
+ CC: "clang -arch x86_64"
+ CXX: "clang++ -arch x86_64"
+ CFLAGS: "-arch x86_64"
run: |
set -euo pipefail
+ if [[ -x /usr/local/bin/brew ]]; then
+ _codec2="$(arch -x86_64 /usr/local/bin/brew --prefix codec2)"
+ export LDFLAGS="-L${_codec2}/lib -arch x86_64"
+ export CPPFLAGS="-I${_codec2}/include"
+ export PKG_CONFIG_PATH="${_codec2}/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig"
+ else
+ export LDFLAGS="-arch x86_64"
+ export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig"
+ fi
"$PY_X64" -m pip install -U pip setuptools wheel
"$PY_X64" -m pip install "cx-freeze>=7.0.0"
"$PY_X64" -m pip install -e .
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────